// pages/communicate/question/question.js
var app = getApp()
wx.cloud.init({
    env: 'cloud1-7gv4qn128a030d31'
  })
var util=require('../../../utils/utils')
// 问题数据库
const dbquestions = wx.cloud.database().collection("questions")
// 回答数据库
const dbanswers = wx.cloud.database().collection("answers")
Page({

    /**
     * 页面的初始数据
     */
    data: {
        // 帖子信息
        questions:[
            {answersCount:0}
        ],
        // 下方回答我的头像 回答信息
        myimage:"",
        titleId:"",
        inputValue:"",
        // 回答列表
        answers:[]
    },
    
    
    /**
     * 生命周期函数--监听页面加载
     */
    onLoad: function (options) {
        var that=this;
        // 获取问题的数据
        console.log(options._id);
        var _id=options._id;
        that.questions(_id);
        // 对回答列表进行setdata
        dbanswers.where({
            titleId:_id
        })
        .get()
        .then(res=>{
            console.log(res.data.length);
            console.log(res.data);
            dbquestions.where({_id})
            .update({
                data:{
                    answersCount:res.data.length
                }
            }).then(res1=>{
                console.log("评论更新成功");
            }).catch(err=>{
                dbquestions.where({_id})
                .update({
                    data:{
                        answersCount:0
                    }
                })
            })
            // answers更新
            for(var i=0;i<res.data.length;i++){
                that.data.answers[i]=res.data[i]
            }
            that.setData({
                answers:that.data.answers
            })
        }),
        // 页面刷新
        that.onPullDownRefresh()
    },

    // 问题数据查询 
    questions(_id){
        console.log(_id);
        var that=this
        dbquestions.where({
            _id
        }).get()
        .then(res=>{
            that.setData({
                questions:res.data[0],
                titleId:res.data[0]._id
            })
        })
    },
// 发送答案
    sendanswer(e){
        var that=this;
        let userType=wx.getStorageSync('user').userType==="stu"?"学生":"人事专员"
        let time=util.formatTime(new Date())
        if(e.detail.value==null||e.detail.value=='')
        {
            wx.showToast({
                icon: 'none',
                title: '请输入！'
            })
        }else{
            dbanswers
            .add({
                data:{
                    nickname:wx.getStorageSync('user').nickName,
                    imageurl:wx.getStorageSync('user').avatarUrl,
                    usertype:userType,
                    comment:e.detail.value,
                    createdOn:time,
                    isLike:false,
                    peopleLike:0,
                    titleId:that.data.titleId
                }
            })
            .then(res=>{
                wx.showToast({
                    title: '评论成功！',
                  })
                //   清空回答框
                  that.setData({
                    inputValue:""
                 })
                // 问答的评论数加一
                  dbquestions.doc({  
                    _id:this.data.titleId,
                  })
                  .update({
                    data: {
                        answersCount:that.data.answersCount++
                     }
                 }).then(res=>{
                         console.log('评论数更新成功',res)
                    // 更新答案数据
                    that.refreshAnswer()
                    }).catch(err=>{
                        wx.showToast({
                            icon: 'none',
                            title: '评论失败'
                        })
                        console.log(err);
                    })
            },
            )
        }
    },
    // 点赞
    liketap(e){
        var that=this
        const item=e.currentTarget.dataset.item
        let _peopleLike=item.peopleLike
        // console.log(e);
        console.log(item);
        if(!item.isLike){
            // 用户没点赞
            // 数据库的peoplelike++和islike更改
            dbanswers.doc(item._id).update({
                data:{
                    isLike:true,
                    peopleLike:_peopleLike+1
                }
            })
            .then(res=>{
                console.log(res);
                wx.showToast({
                    title: '点赞成功！',
                })
                // 更新答案数据
                that.refreshAnswer()
            })
        }else{
            // 点赞了
            // 数据库的peoplelike--和islike更改
            dbanswers.doc(item._id).update({
                data:{
                    isLike:false,
                    peopleLike:_peopleLike-1
                }
            }).then(res=>{
                 // 更新答案数据
                that.refreshAnswer()
                console.log("取消赞了",res);
            })
        }
    },
    // 更新答案列表
    refreshAnswer(){
        var that=this
        dbanswers.where({
            titleId:that.data.titleId
          }).get().then(res=>{
           // answers更新
           for(var i=0;i<res.data.length;i++){
              that.data.answers[i]=res.data[i]
          }
          that.setData({
              answers:that.data.answers
          })
        })
    },
    //   下拉更新
    async onPullDsownRefresh(){
        var that=this;
      await dbanswers.where({
          titleId:that.data.titleId
        }).get().then(res=>{
          console.log(res);
         // answers更新
         for(var i=0;i<res.data.length;i++){
            that.data.answers[i]=res.data[i]
        }
        that.setData({
            answers:that.data.answers
        })
          wx.stopPullDownRefresh()
      })
    },
    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady: function () {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow: function () {
        var that=this;
         // 获取回答处的头像
         that.setData({
            myimage:wx.getStorageSync('user').avatarUrl,
        })
    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide: function () {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload: function () {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh: function () {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom: function () {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage: function () {

    }
})